Technological advances in computing devices and networking facilitate access to a wide variety of information and services allowing access from virtually anywhere in the world. Virtual offices are becoming more popular since the work that needs to be done can be performed from most locations. For example, home networks are becoming more commonplace as residents acquire more communications and/or computing devices for accessing networks. Similarly, businesses employ subnetworks behind routers for intranet services. Rather than subscribe to separate IP addresses for each network device, a technique called network address translation (NAT) allows multiple IP nodes behind the router to share a single public IP address. In other words, a standard is provided that allows one set of unregistered IP addresses to be used for internal network traffic and another set of IP address to be used for external or public traffic. This allows internal network addresses to be shielded from public access (e.g., via the Internet).
A NAT router, for example, includes an outside interface to the public network and an inside interface to the internal network or domain. When a packet leaves the domain, the NAT device translates the local source address into a globally unique address for use on, for example, the Internet. When a packet enters the domain from the Internet, the NAT router translates the globally unique address into a local address. When a sharing node of the domain sends outbound traffic, the NAT forwards the traffic and creates a reverse mapping entry for the sharing node in an address mapping and/or port mapping database or table. This reverse entry is used to redirect responses back into the domain to the correct sharing node.
Typically, NAT devices employ a timeout timer having a configurable timeout period for mapping state. If a specific entry is not used by inbound or outbound traffic for longer than the timeout period, a NAT timer expires and the entry is purged. Once the entry is purged, the sharing node behind the NAT can no longer be reached over this connection and a new connection must be initiated (e.g., by the sharing node). A common mechanism to prevent the NAT timer from timing out (or expiring) is known as “keep-alive” or “heartbeat” processing. Under keep-alive, useless traffic is generated over the connection at shorter intervals than the NAT timeout period to reset the timer and thereby, keep the connection active. When it comes to portable devices that use battery power as the principal power source (e.g., smart phones) conventional keep-alive techniques drain device battery life and generate significant wireless activity to keep the connection alive.